<?php
/**
 * PrynLib
 * @copyright 2007-2009 Prynel
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @category libPrynel
 * @package Validate
 * @version $Revision: 80 $
 */

/**
 * Validateur d'interval numérique. Inclusif
 * @category libPrynel
 * @package Validate
 * @subpackage Validate_Validator
 * @version 1.0.0 
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @copyright  2007-2009 Prynel
 * @todo Gestion inclusif/strict      
 *
 */
class Validate_Validator_Interval extends Validate_Abstract
{
	private $max;
	private $min;
	
	/**
	 * Constructeur
	 *
	 * @param array $options
	 * @access public
	 */
	public function __construct($options)
	{
		if(!isset($options[0]) || !isset($options[1]))
		{
			throw new Exception('Veuillez fournir les options d\'interval : array(12,24)');
		}
		$this->max = max($options);
		$this->min = min($options);
		$this->errorMsg = 'La valeur n\'est pas contenu dans l\'interval '.$this->min.' - '.$this->max;
	}
	
	/**
	 * Vérifie si $value est dans l'interval
	 *
	 * @param int $value
	 * @access public
	 * @return boolean
	 */
	public function isValid($value)
	{
		if(is_numeric($value))
			if($value>=$this->min && $value<= $this->max)
				return true;
		return false;
	}
}
 ?>